package File;

import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * ClassName:FileDome003
 * Package:File
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/26-20:38
 * @Version:v1.0
 */
public class FileDome003 {
    /**   File 获取的方法  */
    //public long length()     返回回文件的大小(字节数量)
    //public String getAbsolutePath()      返回文件的绝对路径
    //public String getPath()      返回定义文件时使用的路径
    //public String getName()      返回文件的名称,带后缀
    //public long lastModified()       返回文件最后修改时间(时间毫秒值)*/
    public static void main(String[] args) throws ParseException {
        //1.public long length()     返回回文件的大小(字节数量)
        //细节1：这个方法只能获取文件的大小,单位是字节
        //      如果单位我们想要M,G 可以不断除以1024
        //细节2：这个方法无法获取文件夹大小
        //      如果我们要获取一个文件夹的大小,需要把这个文件夹里面所有的文件大小都累加在一起
        File f1 = new File("E:\\aaa\\a.txt");
        long length = f1.length();
        System.out.println(length);

        File f2 = new File("E:\\aaa\\bbb");
        long length1 = f2.length();
        System.out.println(length1);//0

        System.out.println("--------------------");
        //2.public String getAbsolutePath()      返回文件的绝对路径
        File f3 = new File("E:\\aaa\\a.txt");
        System.out.println(f3.getAbsoluteFile());

        File f4 = new File("IDEADome\\a.txt");
        System.out.println(f4.getAbsoluteFile());
        System.out.println("--------------------");

        //3.public String getPath()      返回定义文件时使用的路径
        File f5 = new File("E:\\aaa\\a.txt");
        System.out.println(f5.getPath());//E:\aaa\a.txt

        File f6 = new File("IDEADome\\a.txt");
        System.out.println(f6.getPath());//IDEADome\a.txt
        System.out.println("--------------------");

        //public String getName()      返回文件的名称,带后缀
        //a.txt    a   文件名
        //         txt 后缀名,扩展名
        //细节2：
        //文件夹：返回文件夹的名字
        File f7 = new File("E:\\aaa\\a.txt");
        System.out.println(f7.getName());//a.txt

        File f8 = new File("E:\\aaa\\bbb");
        System.out.println(f8.getName());//bbb
        System.out.println("--------------------");

        //public long lastModified()       返回文件最后修改时间(时间毫秒值)
        File f9 = new File("E:\\aaa\\a.txt");
        System.out.println(f9.lastModified());//1677415274121
        //如何把时间的毫秒值变成字符串表示的时间
        //yyyy年MM月dd日 HH:mm:ss
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        Date date = new Date(f9.lastModified());
        System.out.println(date);
        String format = sdf.format(date);
        System.out.println(format);

    }
}
